Lock Inference Proven Correct
نویسندگان
چکیده
With the introduction of multi-core CPUs, multi-threaded programming is becoming significantly more popular. Unfortunately, it is difficult for programmers to ensure their code is correct because current languages are too low-level. Atomic sections are a recent language primitive that expose a higher level interface to programmers. Thus they make concurrent programming more straightforward. Atomic sections can be compiled using transactional memory or lock inference, but ensuring correctness and good performance is a challenge. Transactional memory has problems with IO and contention, whereas lock inference algorithms are often too imprecise which translates to a loss of parallelism at runtime. We define a lock inference algorithm that has good precision. We give the operational semantics of a model OO language, and define a notion of correctness for our algorithm. We then prove correctness using Isabelle/HOL.
منابع مشابه
Combining Lock Inference with Lock-Based Software Transactional Memory
An atomic block is a language construct that simplifies the programming of critical sections. In the past, software transactional memory (STM) and lock inference have been used to implement atomic blocks. Both approaches have strengths and weaknesses. STM provides fine-grained locking but has high overheads due to logging and potential rollbacks. Lock inference is a static analysis that compute...
متن کاملA Simple Optimistic Skiplist Algorithm
Because of their highly distributed nature and the lack of global re-balancing, skip-lists are becoming an increasingly important logarithmic search structure for concurrent applications. Unfortunately, none of the concurrent skiplist implementations in the literature, whether lock-based or lock-free, have been proven correct. Moreover, the complex structure of these algorithms, most likely the...
متن کاملÐóû¹ëëò××øøú Ìýô Éùùðð¬¬ö×
We present a system for extending standard type systems with ow-sensitive type quali ers. Users annotate their programs with type quali ers, and inference checks that the annotations are correct. In our system only the type quali ers are modeled ow-sensitively|the underlying standard types are unchanged, which allows us to obtain an eÆcient constraint-based inference algorithm that integrates o...
متن کاملLock Inference for Systems Software
We have developed task scheduler logic (TSL) to automate reasoning about scheduling and concurrency in systems software. TSL can detect race conditions and other errors as well as supporting lock inference: the derivation of an appropriate lock implementation for each critical section in a system. Lock inference solves a number of problems in creating flexible, reliable, and efficient systems s...
متن کاملGalloping and VIV control of square-section cylinder utilizing direct opposing smart control force
An adaptive fuzzy sliding mode controller (AFSMC) is adopted to reduce the 2D flow-induced vibration of an elastically supported square-section cylinder, free to oscillate in stream-wise andtransverse directions in both lock-in and galloping regions. The AFSMC strategy consists of a fuzzy logic inference system intended to follow a sliding-mode controller (SMC), and a robust control syste...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2008